package com.cysoft.third.echarts.component.legend;

/**
 * @author 玖零
 * @version V0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.item.title
 * @date 2025-03-09 21:07
 * @desc 用于封装元素的内边距信息，支持以多种方式初始化不同方向的内边距。
 *  * 内边距分为上（top）、右（right）、下（bottom）、左（left）四个方向。
 */
public class Padding {

    /**
     * 表示元素顶部的内边距，单位通常为像素
     */
    private int top;

    /**
     * 表示元素右侧的内边距，单位通常为像素
     */
    private int right;

    /**
     * 表示元素底部的内边距，单位通常为像素
     */
    private int bottom;

    /**
     * 表示元素左侧的内边距，单位通常为像素
     */
    private int left;


    /**
     * 构造函数，用于将四个方向（上、右、下、左）的内边距设置为相同的值。
     *
     * @param all 一个整数值，代表所有方向的内边距大小，单位通常为像素
     */
    public Padding(int all) {
        this.top = this.right = this.bottom = this.left = all;
    }

    /**
     * 构造函数，用于分别设置垂直方向（上和下）和水平方向（左和右）的内边距。
     *
     * @param vertical 垂直方向（上和下）的内边距大小，单位通常为像素
     * @param horizontal 水平方向（左和右）的内边距大小，单位通常为像素
     */
    public Padding(int vertical, int horizontal) {
        this.top = this.bottom = vertical;
        this.right = this.left = horizontal;
    }

    /**
     * 构造函数，用于分别设置上、右、下、左四个方向的内边距。
     *
     * @param top 元素顶部的内边距大小，单位通常为像素
     * @param right 元素右侧的内边距大小，单位通常为像素
     * @param bottom 元素底部的内边距大小，单位通常为像素
     * @param left 元素左侧的内边距大小，单位通常为像素
     */
    public Padding(int top, int right, int bottom, int left) {
        this.top = top;
        this.right = right;
        this.bottom = bottom;
        this.left = left;
    }



}
